//
//  JYDog.m
//  自定义类的深浅拷贝
//
//  Created by Jerry on 15-7-22.
//  Copyright (c) 2015年 Jerry. All rights reserved.
//

#import "JYDog.h"

@implementation JYDog

#if 0//浅拷贝，只是将对象的引用计数加1，没有创建新的对象

//在调用copy方法的时候自动调用
- (id)copyWithZone:(NSZone *)zone
{
    return [self retain];/////////
}

#else //深拷贝，创建了新的对象，其内容与原对象一样

- (id)copyWithZone:(NSZone *)zone
{
    //创建新对象
    JYDog *dog = [[self class] allocWithZone:zone];
    //将原对象的内容赋给新对象
    dog.age = self.age;
    return dog;
}

//调用mutableCopy方法的时候调用，对于普通类来说与copy一样
//- (id)mutableCopyWithZone:(NSZone *)zone;

#endif

@end
